home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
source
/
units
/
graphics.tst
< prev
next >
Wrap
Text File
|
1994-04-04
|
4KB
|
134 lines
USES Graphics,OGWare;
CONST fg=yellow;
bg=lightblue;
hl=lightcyan;
sd=blue;
VAR stop,next,prev,redp,redm,grep,grem,blup,blum,grap,gram,blck,graa,save,
load:BUTTON; a,r,g,b,n:BYTE; name:TextFrame; dac:DACBUFFER;
PROCEDURE TegnRgb;
VAR s:STRING;
BEGIN
n:=n MOD 16; DacGetSingle(FourBitDac[n],r,g,b); Fbox(235, 50,330,117,n);
s:=Null(n,3); WriteLine(60,50,s,White,Black);
s:=Null(FourBitDac[n],3); WriteLine(60,60,s,White,Black);
s:=Null(r,3); WriteLine(60,70,s,White,Black);
s:=Null(g,3); WriteLine(60,80,s,White,Black);
s:=Null(b,3); WriteLine(60,90,s,White,Black);
END;
BEGIN
IF NOT GraphicsMode(Ega640x350x016) THEN
BEGIN WriteLn('Could not initiate the right mode.'); Halt(1); END;
IF NOT MouseInitiateInterrupt THEN
BEGIN WriteLn('Could not initiate the Mouse/Interrupt.'); Halt(1); END;
Box(0,0,482,42,White); FOR a:=0 TO 15 DO Fbox(2+a*30,2,30+a*30,40,a);
Box(0,45,90,101,White); Box(230, 45,335,122,White);
WriteLine(5,50,'Color:',Yellow,Black);
WriteLine(5,60,'DAC :',Yellow,Black);
WriteLine(5,70,'Red :',Yellow,Black);
WriteLine(5,80,'Green:',Yellow,Black);
WriteLine(5,90,'Blue :',Yellow,Black);
n:=0; TegnRgb; Mouse(ON);
stop.Init( 5,329, 50,345,fg,bg,hl,sd,'Exit'); stop.Draw;
load.Init( 55,329,100,345,fg,bg,hl,sd,'Load'); load.Draw;
save.Init(105,329,150,345,fg,bg,hl,sd,'Save'); save.Draw;
name.Init(155,330,LightCyan,LightBlue,Yellow,Blue,12,' Filename: ','default.dac');
name.Draw;
prev.Init( 0,108, 45,123,fg,bg,hl,sd,'Prev'); prev.Draw;
next.Init( 46,108, 90,123,fg,bg,hl,sd,'Next'); next.Draw;
redm.Init(100, 44,160, 59,fg,bg,hl,sd,'red-'); redm.Draw;
redp.Init(165, 44,225, 59,fg,bg,hl,sd,'red+'); redp.Draw;
grem.Init(100, 60,160, 75,fg,bg,hl,sd,'green-'); grem.Draw;
grep.Init(165, 60,225, 75,fg,bg,hl,sd,'green+'); grep.Draw;
blum.Init(100, 76,160, 91,fg,bg,hl,sd,'blue-'); blum.Draw;
blup.Init(165, 76,225, 91,fg,bg,hl,sd,'blue+'); blup.Draw;
gram.Init(100, 92,160,107,fg,bg,hl,sd,'grey-'); gram.Draw;
grap.Init(165, 92,225,107,fg,bg,hl,sd,'grey+'); grap.Draw;
blck.Init(100,108,160,123,fg,bg,hl,sd,'Black'); blck.Draw;
graa.Init(165,108,225,123,fg,bg,hl,sd,'Gray'); graa.Draw;
REPEAT
IF next.Quick(160) THEN
BEGIN
Inc(n); TegnRgb;
END;
IF prev.Quick(160) THEN
BEGIN
Dec(n); TegnRgb;
END;
IF redp.Quick( 30) THEN
BEGIN
Inc(r); DacSetSingle(FourBitDac[n],r,g,b); TegnRgb;
END;
IF redm.Quick( 30) THEN
BEGIN
Dec(r); DacSetSingle(FourBitDac[n],r,g,b); TegnRgb;
END;
IF grep.Quick( 30) THEN
BEGIN
Inc(g); DacSetSingle(FourBitDac[n],r,g,b); TegnRgb;
END;
IF grem.Quick( 30) THEN
BEGIN
Dec(g); DacSetSingle(FourBitDac[n],r,g,b); TegnRgb;
END;
IF blup.Quick( 30) THEN
BEGIN
Inc(b); DacSetSingle(FourBitDac[n],r,g,b); TegnRgb;
END;
IF blum.Quick( 30) THEN
BEGIN
Dec(b); DacSetSingle(FourBitDac[n],r,g,b); TegnRgb;
END;
IF grap.Quick( 30) THEN
BEGIN
Inc(r); Inc(g); Inc(b);
DacSetSingle(FourBitDac[n],r,g,b); TegnRgb;
END;
IF gram.Quick( 30) THEN
BEGIN
Dec(r); Dec(g); Dec(b);
DacSetSingle(FourBitDac[n],r,g,b); TegnRgb;
END;
IF (MouseButtons=Left) AND (MouseYpos<42) AND (MouseXpos<482) THEN
BEGIN
n:=(MouseXpos DIV 30) MOD 16; TegnRgb;
END;
IF Blck.Pressed THEN
BEGIN
r:=0; g:=0; b:=0; DacSetSingle(FourBitDac[n],r,g,b); TegnRgb;
END;
IF Graa.Pressed THEN
BEGIN
a:=r; IF a<g THEN a:=g; IF a<b THEN a:=b;
a:=(a+r+b+g) DIV 4; r:=a; g:=a; b:=a;
DacSetSingle(FourBitDac[n],r,g,b);
TegnRgb;
END;
IF Load.Pressed THEN
BEGIN
IF FileExists(name.data)
THEN
BEGIN
DacLoadPalette(name.data,dac); DacSetPalette(dac);
END
ELSE Beep(2000,50);
END;
IF Save.Pressed THEN
BEGIN
DacGetPalette(dac); DacSavePalette(name.data,dac);
END;
Name.Inside;
UNTIL stop.Pressed;
MouseEndInterrupt; GraphicsMode(Txt080xOwnFont);
END.